package com.jft.spread.service;

import com.jft.spread.pojo.dos.UserDO;
import com.jft.spread.pojo.req.UserLoginReqVO;
import com.jft.spread.pojo.req.UserPasswordReqVO;
import com.jft.spread.pojo.req.UserReqVO;
import com.jft.spread.token.Token;

import java.util.List;

public interface UserLoginService {

    /**
     * 手机号密码登录
     * @param reqVO
     * @return
     */
    Token passwordLogin(UserLoginReqVO reqVO);

    /**
     * 修改密码
     * @param reqVO
     * @return
     */
    Token updatePassword(UserPasswordReqVO reqVO);

    /**
     * 刷新token
     * @param accessToken
     */
    Token refreshToken(String accessToken);

    /**
     * 推出登录
     * @param accessToken
     */
    void outLogin(String accessToken);

    /**
     * 查询用户信息
     * @return
     */
    List<UserDO> selectUser(UserLoginReqVO userLoginReqVO);

    /**
     * 查询单个用户信息
     * @param userDO
     * @return
     */
    List<UserDO> selectUserOne(UserLoginReqVO userDO);

    /**
     * 新增单个用户
     * @param userReqVO
     * @return
     */
    void insertUserOne(UserReqVO userReqVO);

    Token updateUserOne(UserReqVO userDO);

}
